]> permondes.de Git - Analog_Engine.git/blobdiff - AESL/TP1 04.10 MassOnSphere.AESL
a rope slides frictionlessly down the edge of a table
[Analog_Engine.git] / AESL / TP1 04.10 MassOnSphere.AESL
diff --git a/AESL/TP1 04.10 MassOnSphere.AESL b/AESL/TP1 04.10 MassOnSphere.AESL
deleted file mode 100644 (file)
index b6dfbbe..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-IDENTIFICATION DIVISION
-PROGRAM-ID MassOnSphere
-VERSION 20240124
-COMMENT A mass m rests at the apex on a fixed sphere with radius a.
-COMMENT With a slight displacement, it slides down the sphere without friction
-COMMENT x'' = C1*x*y - C3*x
-COMMENT y'' = C2*y*y - C4*y - g
-COMMENT Scaling: measuring distances in da-m (10¹ m)
-COMMENT Initial condition: slightly off the top of the sphere to get the mass rolling.
-COMMENT    Note: x0 is a function of y0 with x0² + y0² = a²
-COMMENT    Note: ICs have to be negative as the integrator is inverting
-
-ENVIRONMENT DIVISION
-ENGINE Anabrid-THAT
-TIMEBASE 1ms
-REQUIRES COEFFICIENT 7
-REQUIRES INTEGRATOR 4
-REQUIRES MULTIPLIER 2
-REQUIRES INVERTER 4
-REQUIRES SUMMER 2
-
-DATA DIVISION
-OUTPUT OUTPUT.X x
-OUTPUT OUTPUT.Y y
-# Example values based on a=1
-COEFFICIENT.1 3g/a² for xy e.g. 2,943
-COEFFICIENT.2 3g/a² for y² 
-COEFFICIENT.3 2g/a  for x  e.g. 1,962
-COEFFICIENT.4 2g/a  for y
-COEFFICIENT.5 g            e.g. 0,981
-COEFFICIENT.6 a initial condition y e.g. 0,957
-COEFFICIENT.7 0 initial condition x, slightly above 0 to start motion, e.g. 0,290
-
-PROGRAM DIVISION
--1 -> COEFFICIENT.5 -> -g
--1 -> COEFFICIENT.6 -> -y0
--1 -> COEFFICIENT.7 -> -x0
-
-x'' -> INTEGRATOR -> -x'
--x', IC:-x0 -> INTEGRATOR -> x
-y'' -> INTEGRATOR -> -y'
--y', IC:-y0 -> INTEGRATOR -> y
-x,y -> MULTIPLIER -> x*y
-y,y -> MULTIPLIER -> y^2
-x*y -> COEFFICIENT.1 -> 3g/a²*x*y/10
-y^2 -> COEFFICIENT.2 -> 3g/a²*y^2/10
-x -> COEFFICIENT.3 -> 2g/a*x/10
-y -> COEFFICIENT.4 -> 2g/a*y/10
-2g/a*x/10 -> INVERTER -> -2g/a*x/10
-2g/a*y/10 -> INVERTER -> -2g/a*y/10
-10:3g/a²*x*y/10, 10:-2g/a*x/10 -> SUMMER -> -x''
--x'' -> INVERTER -> x''
-10:3g/a²*y^2/10, 10:-2g/a*y/10, 1:-g -> SUMMER -> -y''
--y'' -> INVERTER -> y''
-
-OPERATION DIVISION
-MODE REPEAT
-OP-TIME 24ms # after that, the mass would jump off the sphere, which is not included in this model